Feature/vikingbot_opt: OpenAPI interface standardization;Feishu multi-user experience; observability enhancements; configuration system modernization.#419
Merged
MaojiaSheng merged 56 commits intomainfrom Mar 4, 2026
Conversation
- Add ChatChannel for interactive chat with User:/Bot: labels and thinking display - Add SingleTurnChannel for one-off -m mode with minimal output - Add StdioChannel for JSON-based IPC with Rust TUI - Rename 'vikingbot agent' to 'vikingbot chat' - Add Python 'ov chat' command that proxies to vikingbot chat - Add Rust 'ov chat' command that proxies to vikingbot chat - Refactor ChannelManager to support both config and direct channel addition - Update event types for better thinking/tool_call/tool_result display - Default session key: cli__chat__default
…ing into feature/vikingbot_opt # Conflicts: # bot/vikingbot/openviking_mount/ov_server.py
…ing into feature/vikingbot_opt
- Update feishu, dingtalk, discord, email, qq, slack, telegram, whatsapp - Add filter in send() to skip thinking/tool_call/tool_result messages - Only process is_normal_message (RESPONSE type)
…bility - Add vikingbot/utils/tracing.py with backend-agnostic @trace decorator - Use ContextVar for session_id propagation through nested calls - Implement lazy binding to Langfuse via propagate_attributes - Update AgentLoop._process_message() to use @trace decorator - Simplify langfuse initialization logging in commands.py - Add session_id parameter to litellm_provider.chat() - Clean up redundant code in utils/helpers.py The trace decorator abstracts observability concerns, allowing future switching between Langfuse, OpenTelemetry, or other backends without modifying business logic. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
…ing into feature/vikingbot_opt
2. support multi users
2. support multi users
2. support multi users
The propagate_attributes function is a module-level export in Langfuse Python SDK v3, not a method of the Langfuse client instance. - Import propagate_attributes from langfuse module - Remove misleading warning when propagate_kwargs is empty - Reduce log noise by changing info logs to debug Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Standardize terminology and clean up tracing/Langfuse integration: - Rename sandbox_key to workspace_id across agent, memory, and tools - Delete deprecated langfuse_decorator.py (superseded by tracing.py) - Fix Langfuse v3 SDK propagate_attributes usage (module-level function) - Improve session_id extraction with better signature inspection - Reduce log noise in Langfuse attribute propagation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ing into feature/vikingbot_opt
2. support multi users
…ing into feature/vikingbot_opt # Conflicts: # bot/vikingbot/agent/loop.py # bot/vikingbot/hooks/base.py
Add extract_user_id parameter to @trace decorator to enable user tracking in Langfuse. This allows grouping traces by user in the UI. - Add extract_user_id parameter to @trace decorator - Extract user_id from InboundMessage.sender_id - Pass user_id to Langfuse propagate_attributes - Update loop.py to use new lambda style for session_id extraction Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ing into feature/vikingbot_opt
…ing into feature/vikingbot_opt
…ing into feature/vikingbot_opt
- Change usage to usage_details for Langfuse v3 SDK compatibility - Add support for cache_read_input_tokens (OpenAI/Anthropic prompt caching) - Add logger import and debug logging for token reporting Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove the entire legacy test suite including: - Unit tests (test_agent, test_bus, test_channels, test_config) - Integration tests (test_agent_e2e) - Test fixtures, utilities, and OpenSpec config - Test runner tools (tester/) These tests were outdated and no longer maintained. Future testing should use a modern testing framework.
- Update default config path to ~/.openviking/ov.conf - Add interactive chat mode examples (--no-markdown, --logs flags) - Remove VKE deployment guide section - Update Docker volume mount paths
Add detailed Google-style docstrings to: - AgentLoop.__init__() - parameters and examples - AgentLoop._publish_thinking_event() - event publishing - ToolContext - all attributes documented - Tool base class - complete usage example Improves code maintainability and IDE support.
Server changes: - Add --with-bot flag to enable Bot API proxy - Register bot_router at /bot/v1 prefix - Add bot_api_url configuration option - Initialize bot proxy in bootstrap process CLI changes: - Update ov chat endpoint to /bot/v1/chat - Fix UTF-8 input handling - Add endpoint configuration via env var
- Enhance tool registry with better error handling - Update OpenAPI channel configuration - Improve session manager with better state handling - Enhance Langfuse tracing integration with diagnostic logging
- Enhance CLI commands with new agent tool integration - Move plugin analysis doc to docs directory - Add RFC for OpenViking CLI ov-chat command - Add server restart script Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
PR Summary: Vikingbot Architecture Optimization & Feature Enhancement
📊 Change Overview
🚀 Major Features
bot.channels, bot.gateway
[telegram], etc.)
This PR represents a major architectural upgrade for Vikingbot, primarily
focusing on OpenAPI interface standardization, Feishu multi-user experience,
observability enhancements, and configuration system modernization.
Related Issue
Type of Change
Changes Made
Testing
Checklist
Screenshots (if applicable)
Additional Notes